<template>
  <div>
    <el-container>
      <el-header class="homeHeader">
        <div class="title">云E办</div>
        <div>
          <el-button type="text"
                     icon="el-icon-bell"
                     size="normal"
                     @click="goChat"
                     style="margin-right: 10px;color: black"></el-button>
          <el-dropdown class="userInfo" @command="handleHandler">
          <span class="el-dropdown-link">
            {{user.name}}<i><img style="width: 24px;height: 24px;padding-left: 5px" :src="userFace"></i>
          </span>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item command="userInfo">个人中心</el-dropdown-item>
              <el-dropdown-item command="setting">设置</el-dropdown-item>
              <el-dropdown-item command="logout">注销</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
        </div>
      </el-header>
      <el-container>
        <el-aside width="200px">
          <el-menu router unique-opened>
            <template v-for="(item,index) in routes">
                <el-submenu :index="index+''"
                            :key="index"
                            v-if="!item.hidden">
                  <template slot="title"><i :class="item.iconCls"
                                            style="color: darkturquoise;margin-right:5px "></i>{{ item.name }}
                  </template>
                  <el-menu-item :index="children.path"
                                v-for="(children,index) in item.children"
                                :key="index">
                    {{ children.name }}
                  </el-menu-item>
                </el-submenu>
            </template>
          </el-menu>
        </el-aside>
        <el-main>
          <el-breadcrumb separator-class="el-icon-arrow-right"
                         v-if="this.$router.currentRoute.path!=='/Home'">
            <el-breadcrumb-item :to="{ path: '/Home' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>{{this.$router.currentRoute.name}}</el-breadcrumb-item>
          </el-breadcrumb>
          <div class="homeWelcome" v-if="this.$router.currentRoute.path==='/Home'">欢迎来到云E办系统！</div>
          <router-view class="homeRouterView"></router-view>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script>
export default {
  name: "Home",
  data() {
    return {
      //user:JSON.parse(window.sessionStorage.getItem("user")),
    }
  },
  computed: {
    routes() {
      return this.$store.state.routes;
    },
    user(){
      return this.$store.state.currentAdmin;
    },
    userFace(){
      return "/image?id="+this.$store.state.currentAdmin.id+"&date="+this.$store.state.currentAdmin.time;
    }
  },
  methods:{
    goChat(){
      this.$router.push("/chat");
    },
    handleHandler(command){
      if(command === "logout"){
        this.$confirm('此操作将注销登入, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          //注销登入
          this.$postRequest('/logout');
          window.sessionStorage.removeItem("tokenStr");
          window.sessionStorage.removeItem("user");
          //清空菜单
          this.$store.commit('initRoutes',[]);
          //跳转到登入页面
          this.$router.replace("/");
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消注销操作'
          });
        });
      }
      if(command === 'userInfo'){
        this.$router.push('/userInfo');
      }
    }
  }
}
</script>

<style scoped>
.homeHeader {
  background: #409eff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  box-sizing: border-box;
}

.homeHeader .title {
  font-size: 30px;
  font-family: 华文楷体;
  color: white;
}
.homeHeader .userInfo{
  cursor:pointer;
}
.el-dropdown-link- imp{
  width: 48px;
  height: 48px;
  border-radius: 24px;
  margin-left: 8px;
}
.homeWelcome{
  text-align: center;
  font-size: 30px;
  font-family: 华文楷体;
  color: #409eff;
  padding-top: 50px;
}
.homeRouterView{
  margin-top:10px ;
}
</style>